// /**
//  * @param {string} s
//  * @return {number}
//  */
//  var minimumTime = function(s) {
//   const n = s.length
//   let arr = []
//   for(let i = 0; i<n; i++){
//     if(s[i] === '1') arr.push(i)
//   }
//   let ans = 0
//   let i = 0, j = arr.length-1
//   for(;i<arr.length; i++){
//     if(arr[i] === i) ans++
//     else break
//   }
//   for(let i = n-1; arr[j] === i; i--, j--){
//     ans++
//   }
//   const map = new Map()
//   let x = -1
//   for(let y = arr.length-1, cnt; y>=0; y--){
//     if(x > 0 && x - arr[y] === 1){
//       cnt++
//     }else cnt = 1
//     map.set(arr[y], cnt)
//     x = arr[y]
//   }
//   let head = i === 0 ? 0 : arr[i-1] + 1
//   let tail = j === arr.length-1 ? n-1 : arr[j+1] - 1
//   for(let k = i, m = j; k<=m;){
//     let diff1 = arr[k] - head + 1
//     let diff2 = tail - arr[m] + 1
//     if(k === m){
      
//     }
//     let rep = map.get(arr[k])
//     // console.log(pre, diff, rep)
//     if(diff + rep - 1 <= rep*2){
//       ans += diff + rep - 1
//       head = arr[k+rep-1] + 1
//     }else{
//       ans += rep*2
//     }
//     k += rep
//   }
//   return ans
// };

/**
 * @param {string} s
 * @return {number}
 */
 var minimumTime = function(s) {
  const n = s.length
  const sum = new Array(n+1).fill(0)
  for(let i = 1; i<=n; i++){
    sum[i] = sum[i-1] + Number(s[i-1])
  }
  const dp = new Array(n).fill().map(() => new Array(2).fill(0))
  // 0 left 1 right 2 d
  dp[0][0] = 1
  dp[0][1] = 2
  for(let i = 1; i<n; i++){
    dp[i][0] = Math.min(dp[i-1][0]+1, dp[])
  }
};